Bonjour,
Il semble que la mise à jour de Joomla dans une installation qui nécessite un PROXY rencontre un problème.
Alors que le Proxy est bien renseigné dans le panneau de configuration, la mise à jour automatique ne se lance pas.
Dans les log apparait l'erreur suivante :
[04-Jan-2021 18:06:06] WARNING: child 9550 said into stderr: "NOTICE: PHP message: PHP Warning: get_headers(https://downloads.joomla.org/cms/joo..._Package.zip): failed to open stream: Connection timed out in /applis/xxx/joomla/administrator/components/com_joomlaupdate/models/default.php on line 285"
Après vérification dans /joomla/administrator/components/com_joomlaupdate/models/default.php on line 285"
Il semble que le get_headers ne tienne pas compte du paramètre PROXY du panneau de config.
Dans la fonction download, j'ai du modifier provisoirement le passage suivant en rajoutant $context :
Après ce correctif, la mise à jour automatique se lance et la barre de progression apparait
Est ce quelque chose qui devrait être corrigé dans les prochaines versions ? ou ai-je oublié quelque chose ?
Cordialement
Il semble que la mise à jour de Joomla dans une installation qui nécessite un PROXY rencontre un problème.
Alors que le Proxy est bien renseigné dans le panneau de configuration, la mise à jour automatique ne se lance pas.
Dans les log apparait l'erreur suivante :
[04-Jan-2021 18:06:06] WARNING: child 9550 said into stderr: "NOTICE: PHP message: PHP Warning: get_headers(https://downloads.joomla.org/cms/joo..._Package.zip): failed to open stream: Connection timed out in /applis/xxx/joomla/administrator/components/com_joomlaupdate/models/default.php on line 285"
Après vérification dans /joomla/administrator/components/com_joomlaupdate/models/default.php on line 285"
Il semble que le get_headers ne tienne pas compte du paramètre PROXY du panneau de config.
Dans la fonction download, j'ai du modifier provisoirement le passage suivant en rajoutant $context :
Code PHP:
/**
* Downloads the update package to the site.
*
* @return boolean|string False on failure, basename of the file in any other case.
*
* @since 2.5.4
*/
public function download()
{
$context = array(
'http' => array(
'proxy' => 'UrlProxy:Port',
'request_fulluri' => true,
),
);
$updateInfo = $this->getUpdateInformation();
$packageURL = trim($updateInfo['object']->downloadurl->_data);
$sources = $updateInfo['object']->get('downloadSources', array());
//$headers = get_headers($packageURL, 1);
$headers = get_headers($packageURL, 1, $context);
// Follow the Location headers until the actual download URL is known
while (isset($headers['Location']))
{
$packageURL = $headers['Location'];
//$headers = get_headers($packageURL, 1);
$headers = get_headers($packageURL, 1, $context);
}
Est ce quelque chose qui devrait être corrigé dans les prochaines versions ? ou ai-je oublié quelque chose ?
Cordialement
Commentaire